package com.yxw.yx_hotel.service;

import com.yxw.yx_hotel.dto.PayStayInMoneyDto;
import com.yxw.yx_hotel.dto.QueryInWaitDto;
import com.yxw.yx_hotel.dto.QueryStayRetreatDto;
import com.yxw.yx_hotel.dto.StayRetreatDto;
import com.yxw.yx_hotel.vo.StayInVo;
import com.yxw.yx_hotel.vo.StayRetreatVo;
import com.yxw.yxnet_cd_center.common.dto.PageVO;

/**
 *  在住名单管理
 * @author liuxin
 * @date 2024.01.22
 */
public interface StayInService {


    /**
     * 查询在住名单列表
     * @param dto
     * @return
     */
    PageVO<StayInVo> pageStayInList(QueryInWaitDto dto);

    /**
     * 查询在住名单详情
     * @param stayWaitId
     * @return
     */
    StayInVo getStayInById(Long stayInId);

    /**
     * 押金缴纳
     * @param dto
     */
    void payStayInMoney(PayStayInMoneyDto dto);

    /**
     * 退住
     * @param dto
     */
    void stayRetreatByIds(StayRetreatDto dto);

    /**
     * 查询退住名单列表
     * @param dto
     * @return
     */
    PageVO<StayRetreatVo> pageStayRetreatList(QueryStayRetreatDto dto);

    /**
     * 查询退住名单详情
     * @param retreatId
     * @return
     */
    StayRetreatVo getStayRetreatById(Long retreatId);
}
